#ifndef _MPU6050_H_
#define _MPU6050_H_

#include "includes.h"



#define W_MPU6050_ADDRESS 			0xD0
#define R_MPU6050_ADDRESS 			0xD1
#define MPU6050_REG_WHOAMI			0x75		//		???????		

#define MPU6050_REG_SENSOR_DAT 0x3B
/*power control*/
#define  PWR_MGMT_1				0x6B		//107	电源管理寄存�?			
#define  PWR_MGMT_2				0x6C		//108	电源管理寄存�?		

#define  ACCEL_XOUT_H				0x3B		//59	加速计测量值寄存器		X轴高八位		
#define  ACCEL_XOUT_L				0x3C		//60	加速计测量值寄存器		X轴低八位
#define  ACCEL_YOUT_H				0x3D		//61	加速计测量值寄存器		Y轴高八位		
#define  ACCEL_YOUT_L				0x3E		//62	加速计测量值寄存器		Y轴低八位		
#define  ACCEL_ZOUT_H				0x3F		//63	加速计测量值寄存器		Z轴高八位		
#define  ACCEL_ZOUT_L				0x40		//64	加速计测量值寄存器		Z轴低八位		
#define  TEMP_OUT_H				0x41		//65	温度测量值寄存器		高八�?		
#define  TEMP_OUT_L				0x42		//66	温度测量值寄存器		低八�?		
#define  GYRO_XOUT_H				0x43		//67	陀螺仪测量值寄存器		X轴高八位		
#define  GYRO_XOUT_L				0x44		//68	陀螺仪测量值寄存器		X轴低八位		
#define  GYRO_YOUT_H				0x45		//69	陀螺仪测量值寄存器		Y轴高八位		
#define  GYRO_YOUT_L				0x46		//70	陀螺仪测量值寄存器		Y轴低八位		
#define  GYRO_ZOUT_H				0x47		//71	陀螺仪测量值寄存器		Z轴高八位		
#define  GYRO_ZOUT_L				0x48		//72	陀螺仪测量值寄存器		Z轴低八位

/*user config*/
#define  GYRO_CONFIG				0x1B		//27	陀螺仪配置寄存�?
#define  ACCEL_CONFIG 				0x1C		//28	加速寂渲眉拇嫫�?
#define	 SMPLRT_DIV				 	0x19		//19	样本频率分频寄存�?
#define	 CONFIG					 	0x1A		//26	配置寄存�?




void MPU6050_Read();
void MPU6050_Dataanl(void);
uint8_t Init_MPU6050(void);
//uint8_t Get_MPU6050_Dat_H(struct mpu6050st *datbuf);
//static uint8_t Sel_MPU6050_Reg(uint8_t reg);
//static uint8_t Write_MPU6050(uint8_t reg,uint8_t *datbuf,uint16_t datl);
//static uint8_t Read_MPU6050(uint8_t reg,uint8_t *datbuf,uint16_t datl);
//static uint8_t Test_MPU6050(void);
#endif
